package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * @ClassName Producter
 * @Description:类描述
 * @Author Tedu
 * @Date 2021/6/28 16:50
 * @Version V1.0
 **/
public class Producter {
    public static void main(String[] args) throws IOException, TimeoutException {
        //1.连接服务器
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Channel c = f.newConnection().createChannel();

        //2.在服务器上创建helloworld队列
        //如果队列在服务器上已经存在,不会重复创建
        /*
         参数:1队列名,2是否持久队列(非持久队列在系统重启后会消失)
            3是否是排他队列.独占队列(非独占队列可由多个消费者共享)
            4是否自动删除(没有消费者的队列可由服务器自动删除)
            5其他参数属性
         */

        c.queueDeclare("helloworld", false, false, false, null);
        //3.发送消息
        /*
         * 参数1空串是默认的交换机 2队列名 3对消息设置更多的属性参数
         */

        c.basicPublish("", "helloworld", null, "Hello world!".getBytes());

        //4.断开连接(可选)
        c.close();
        System.out.println("消息已发送!");
    }
}
